const MODULE_LIST = ["hello","world"]; // 每个新增的模块名都需要在这里添加
const isDevelopment = process.env.NODE_ENV === "development"; // 开发环境
// 单模块编译,本地调试时输入npm run serve --module=模块名，其中npm_config_xxx是跟输入的npm run serve --xxx相对应的
const moduleName = process.env.npm_config_module;

function getPages(moduleName) {
  if (isDevelopment && moduleName) {
    // 开发环境按传入的模块名打包（1个）
    return {
      index: {
        entry: `src/modules/${moduleName}/main.js`, // // page 的入口
        // template: 'public/index.html', // 模板来源
        // filename: 'index.html', // 在 dist/index.html 的输出
        title: `模块-${moduleName}`,
      },
    };
  } else {
    // 生产环境全部打包
    const modules = moduleName ? [moduleName] : MODULE_LIST;
    const pages = {};
    modules.forEach((item) => {
      pages[item] = {
        entry: `src/modules/${item}/main.js`,
      };
    });
    return pages;
  }
}

module.exports = {
  outputDir: "dist", //build输出目录
  assetsDir: "assets", //静态资源目录（js, css, img）
  lintOnSave: false, //是否开启eslint
  // pages: getPages(moduleName),
  devServer: {
    open: true, //是否自动弹出浏览器页面
    host: "localhost",
    port: "8080",
    https: false, //是否使用https协议
    hotOnly: false, //是否开启热更新
    proxy: {
      "/api": {
        target:
          "https://www.jianshu.com/writer#/notebooks/52257148/notes/99281154/preview", //API服务器的地址
        changeOrigin: true, // 虚拟的站点需要更管origin
        pathRewrite: {
          //重写路径 比如'/api/aaa/ccc'重写为'/aaa/ccc'
          "^/api": "",
        },
      },
    },
  },
};
